#include<iostream>

using namespace std;

int& add(int n)
{
    int x = n;


    return x;
}

int& Add(int a, int b)
{
    int c = a + b;

    return c;
}

//
// int main()
// {
//     int a = 5;
//     int& b = a;
//     int& c = b;

//     cout << &a << endl;
//     cout << &b << endl;
//     cout << &c << endl;

//     int x = 0;
//     c = x;

//     cout << &a << endl;
//     cout << &b << endl;
//     cout << &c << endl;


//     cout << add() << endl;
//     cout << add() << endl;

//     int& ret = Add(1, 2);
//     Add(3, 4);

//     cout << "Add(1, 2) is :"<< ret <<endl;
//     cout << "Add(1, 2) is :"<< ret <<endl;

//     return 0;

// }

// int main()
// {
    
//     //权限扩大
//     const int x = 5;
//     int& a = x;

//     const int* p = NULL;
//     int* p2 = p;
//     //权限保持
// 	const int c = 2;
// 	const int& d = c;

// 	const int* p1 = NULL;
// 	const int* p2 = p1;

// 	// 权限缩小
// 	int x = 1;
// 	const int& y = x;
// }


int main()
{
    int ret = add(10);

    cout << ret <<endl;
    cout << ret <<endl;


}